home *** CD-ROM | disk | FTP | other *** search
- !
- ! Default prisonner script..
- !
- ! (c) DC Software, 1992
- !
-
- !------------------------------------------------------------------------!
- :@TALK ! Talk to the character !
- !------------------------------------------------------------------------!
-
- ! First, say hello.. !
- if NPC.V0 > 0 then
- if NPC.V1 > 0 goto AFTER;
- writeln( "You're back.. I thought you were going to leave me here.." );
- else
- writeln( "Are you here to help me?" );
- endif;
-
- ! Now, set some variables..
- NPC.V0 = 1; ! From know on, remember we've been here
-
- :CHAT
- L3 = getstr("Name","Job","Join","Bye");
- if L3 = -1 then
- writeln( "Don't leave me here.. Please.." );
- goto CHAT; ! Pressed ESCape !
- endif;
-
- ! Handle JOIN differently..
- if L3 = 2 then
- if group.size = 6 then
- writeln( "Your party is full!" );
- goto CHAT;
- endif;
- player.v1 = 1; ! 1 when I join the party, 2 if delivered to quester !
- if NOT dotext( S0 ) then
- writeln( "The sooner the better.." );
- endif;
- JOIN;
- STOP;
- endif;
-
- ! First, see if the keyword typed is in the character's text block !
- if dotext( S0 ) goto CHAT;
-
- ! It didn't, so try the predefined ones..
- on L3 goto CNAME, CJOB, CHAT, CSTOP;
-
- ! Nope, try a 'DEFAULT' line
- if not dotext( "DEFAULT" ) then
- writeln( "I don't know anything about that!" );
- endif;
- goto CHAT;
-
- :CNAME
- writeln( "My name is ", NPC.name, "." );
- GOTO CHAT;
-
- :CJOB
- writeln( "I am a ", npc.type );
- GOTO CHAT;
-
- :CSTOP
- writeln( "Don't leave me here.. Please.." );
- STOP;
-
- !
- ! This is the script for AFTER I've been rescued !
- !
- :AFTER
-
- if npc.v1 = 1 then ! We JOINED, but were not delivered !
- if NOT dotext( "DELIVER" ) then
- writeln( "I need your help to return home.." );
- endif;
- goto CHAT;
- endif;
-
- :CHAT2
- L3 = getstr("Name","Job","Join","Bye");
-
- ! First, see if the keyword typed is in the character's text block !
- if dotext( S0 ) goto CHAT2;
-
- ! It didn't, so try the predefined ones..
- on L3 goto CNAME2, CJOB2, CJOIN2, CSTOP2;
-
- ! Nope, try a 'DEFAULT' line
- if not dotext( "DEFAULT" ) then
- writeln( "I don't know anything about that!" );
- endif;
- goto CHAT2;
-
- :CNAME2
- writeln( "My name is ", NPC.name, "." );
- GOTO CHAT2;
-
- :CJOB2
- writeln( "I am a ", npc.type );
- GOTO CHAT2;
-
- :CJOIN2
- writeln( "Sorry. I've had my fill of adventure.." );
- GOTO CHAT2;
-
- :CSTOP2
- writeln( "Nice talking to you.." );
- STOP;
- !------------------------------------------------------------------------!
- !
- :@DROP ! DROP a player from the group. !
- !
- !------------------------------------------------------------------------!
- !
- ! Here, you can handle the 'vacate' action for the prisoner. Omit
- ! the CONTINUE command tells the system that even though we took some
- ! action, standard processing should be taken anyway. Change it to
- ! a 'STOP' if you do not want standard processing to take place.
- !
- CONTINUE;
-
-